﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Web.Services;

using Osiptel.HECO.BE;
using Osiptel.HECO.BL;

public partial class Views_Editor_Frm_Componentes : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }

    [WebMethod]
    public static List<ComponenteBE> ObtenerItems()
    {
        ComponenteBL componenteBL = new ComponenteBL();
        List<ComponenteBE> listaComponentes = new List<ComponenteBE>();
        listaComponentes = componenteBL.ObtenerTodosComponentes();
        return listaComponentes;
    }

    [WebMethod]
    public static int GuardarComponente(ComponenteBE comp, int tipo, int subTipo)
    {
        List<ComponentePrecioBE> lstCompPrecio = new List<ComponentePrecioBE>();
        ComponenteBL componenteBL = new ComponenteBL();
        comp.UsuCre = "user1";
		comp.IpReg = "192.168.1.1";
        ComponenteTipoBE nuevoCompTipo = new ComponenteTipoBE();
        nuevoCompTipo.UsuCre = "user1";
        nuevoCompTipo.IpReg = "192.168.1.2";
        nuevoCompTipo.P05Tipo = tipo;
        ComponenteSubtipoBE nuevoCompSubTipo = new ComponenteSubtipoBE();
        nuevoCompSubTipo.UsuCre = "user1";
        nuevoCompSubTipo.IpReg = "192.168.1.2";
        nuevoCompSubTipo.P06SubTipo = subTipo;
        int idComponente = componenteBL.insertar(comp, nuevoCompTipo, nuevoCompSubTipo);  
        return idComponente;        
    }

    [WebMethod]
    public static List<ParametroDetalleBE> ListaUnidades()
    {
        ParametroDetalleBL paramDetalleBL = new ParametroDetalleBL();
        List<ParametroDetalleBE> listaParamDetalle = new List<ParametroDetalleBE>();
        listaParamDetalle = paramDetalleBL.ObtenerParamsById(1);//Codigo de Unidades 1
        return listaParamDetalle;
    }

    [WebMethod]
    public static List<ParametroDetalleBE> ListaClases()
    {
        ParametroDetalleBL paramDetalleBL = new ParametroDetalleBL();
        List<ParametroDetalleBE> listaParamDetalle = new List<ParametroDetalleBE>();
        listaParamDetalle = paramDetalleBL.ObtenerParamsById(7);//Codigo de Unidades 7
        return listaParamDetalle;
    }
    [WebMethod]
    public static List<ParametroDetalleBE> ListaTipos()
    {
        ParametroDetalleBL paramDetalleBL = new ParametroDetalleBL();
        List<ParametroDetalleBE> listaParamDetalle = new List<ParametroDetalleBE>();
        listaParamDetalle = paramDetalleBL.ObtenerParamsById(5);//Codigo de Unidades 7
        return listaParamDetalle;
    }
    [WebMethod]
    public static List<TipoSubtipoBE> ListaSubTipos(int idTipo)
    {
        TipoSubtipoBL objSubTipos = new TipoSubtipoBL();
        List<TipoSubtipoBE> listaSubTipos = new List<TipoSubtipoBE>();
        listaSubTipos = objSubTipos.ObtenerSubTipoByTipo(idTipo);
        return listaSubTipos;
    }

 [WebMethod]
    public static List<ParametroDetalleBE> ListaFuentes()
    {
        ParametroDetalleBL paramDetalleBL = new ParametroDetalleBL();
        List<ParametroDetalleBE> listaParamDetalle = new List<ParametroDetalleBE>();
        listaParamDetalle = paramDetalleBL.ObtenerParamsById(2);
        return listaParamDetalle;
    }
     [WebMethod]
    public static List<ComponentePrecioBE> ObtenerPrecioComponente(int idComponente)
    {
        ComponentePrecioBL componentePrecioBL = new ComponentePrecioBL();
        List<ComponentePrecioBE> listaComponentePrecio = new List<ComponentePrecioBE>();
        listaComponentePrecio = componentePrecioBL.ObtenerPrecioPorComp(idComponente);
        return listaComponentePrecio;
    } 

         [WebMethod]
     public static string GuardarPrecioComponente(List<ComponentePrecioBE> precios, int idComponente)
    {
        string rpta = "";
        ComponentePrecioBL componentePrecioBL = new ComponentePrecioBL();
        for (int i = 0; i < precios.Count; i++)
        {
            precios[i].IdComponente = idComponente;
            precios[i].UsuCre = "user1";
            precios[i].IpReg = "192.168.1.2";
            if( componentePrecioBL.insertar(precios[i]) > 0)
                rpta = "OK";
            else
                rpta = "";
        }
        return rpta;
    }
}